The Internet and other networks interconnect computers and computing devices to allow for easy transport of data over network connections. Commonly computers and computing devices are organized using the client-server model, wherein network connections are established between some computers or computing devices that act as servers and some computers or computing devices that act has clients. Of course, some computers or computing devices can act as servers and clients.
An example of a server is a Web server and an example of a client is a Web client such as a personal computer running a Web browser program. Many different Web clients have been developed and variations of Web clients are being developed regularly. Merely by way of example, a Web client could be embodied in a desktop computer, laptop computer, handheld device, cellular telephone, wireless device, electronic device with embedded Web client functionality, or the like. Generally, all that is required is some user interface and a network interface.
In some instances the user interface is an interface to a programmatic user, but more typically the user interface is an interface usable by a human user. The Web client operates according to the interface to issue requests to Web servers, using well-known protocols or later developed protocols. In response to requests received, Web servers return data responses. In a typical description of Web client-server interaction, the HTTP protocol is assumed to be used, wherein the Web client issues a request directed at a particular Web server address for a page represented by a URL in the request and a server responsive to the particular Web server address responds with data that may be a page to be displayed or other data set. Generally, regardless of the actual data being requested and returned, the data returned is referred to as a web page.
A Web client that is capable of presenting all or part of a web page in a user interface to a user and accepting user input wherein at least some of the user input can cause the Web client to present further web pages can be referred to as a “Web browser” because of its common use by a user to navigate among web pages generally considered to be part of a “Web” of pages that reference other pages.
Web browsers are known and are in common use and often provide functionality in addition to presenting web pages and accepting user input related to presented web pages. For example, web pages might include program elements that are executed by a Web browser upon receipt of a web page including such program elements. One example of such program elements are JAVA™ applets.
Web pages also might include program elements that cause a Web server to take an action. For example, a web server might provide portal services, wherein the Web server collects information from various sources and upon request generates a portal page for a Web client. An example of such a portal page is the main Yahoo! page (www.yahoo.com) and personalized pages provided by My Yahoo! (my.yahoo.com). The latter provides for pages to be delivered to Web clients that are customized based on user preferences stored at the server.
Customized web pages and varied layouts often provide a rich user experience, but if the presentation of information requires moving from web page to web page, the experience is less favorable when network delays occur, as the user waits for pages to arrive and refresh. The experience can also be disorienting if the user has to move from page to page to see desired information. While network delays can occur and are typically beyond the control of the web server operator, users typically associate negative experiences due to network delays with the services provided by the web server operator. Therefore, it would be desirable to mitigate perceived delays that might be caused by network delays.